Field of the Invention
The present disclosure is related generally to design and simulation of systems, and more specifically to design and simulation of electrical and/or electronic features in conjunction with computer aided design (CAD), graphical programming, and/or other environments.
Background Information
CAD environments are widely used by designers of mechanical systems, such as mechanical engineers and architects, to generate 2-D and 3-D models. In addition to modeling individual components, CAD environments are generally well suited for representing the layout and configuration of complex systems of components, as well as representing mechanical interactions between the components. Many CAD environments offer mechanical simulation features, including structural integrity simulation, multi-body dynamic motion simulation, materials fatigue simulation, fluid flow simulation, as well as other types of simulation. Some or all of these mechanical simulation features may be found in conventional CAD environments, such as AutoCAD® available from Autodesk, Inc. of San Rafael, Calif., SolidWorks®, available form SolidWorks Corporation of Concord, Mass. or CATIA®, available from Dassault Systems S.A. of Suresnes, France.
Graphical programming environments are often employed by designers of electrical and electronic systems, such as electrical engineers and computer scientists, to control, simulate, test, tune, and calibrate such systems. A graphical programming environment is one in which visual expressions, and the connections among visual expressions, are employed to specify and/or control program functions. Rather than entering text commands, visual expressions are selected and manipulated in an interactive manner, according to a program structure and grammar. Many graphical programming environments are structured according to a block diagram, where a set of icons, called blocks or node, are connected by lines, which typically represent signals. Blocks may represent any of a variety of functional entities, which perform mathematical operations, transformations, or both, on data. Signals represent data or may represent control connections among blocks.
One graphical programming environment that employs a block diagram is the LabVIEW® development system, available from National Instruments Corp. of Austin, Tex. In the LabVIEW® development system, a block diagram is constructed by selecting and connecting (i.e. “wiring up”) icons using a block diagram editor. The block diagram embodies a graphical program that may perform any of a wide variety of functions. Where the graphical program performs instrumentation, measurement, or automation functions, the graphical program is often referred to as a virtual instrument (VI) or a sub VI.
A graphical program may further include a graphical user interface, commonly termed a front panel. A front panel typically has various graphical interface elements, such as controls or indicators, which represent or display inputs and outputs that are used by the graphical program, as well as icons representing devices being controlled. When a user places terminals or input/output blocks in the block diagram, corresponding front panel objects may be automatically created and displayed. Alternately, when controls or indicators are created in the front panel, corresponding icons, such as terminals, may be automatically created in the block diagram by the block diagram editor.
A graphical program may be executed in an interpretive process in the graphical programming environment. Alternately, a user may convert a graphical program to executable program code (for example, human-readable C, C++, or assembly code, or code generally not intended to be human-readable, for example binary code/binary libraries) that may be exported and executed beyond the graphical programming environment, for example on another computer. In still another alternative, a graphical program, or a portion thereof, may be converted to hardware description code, such as Very-High-Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL) code, that is compiled and used to program a Programmable Logic Device (PLD) or configure an Application-specific integrated circuit (ASIC) of an embedded system. One popular embedded system is the CompactRIO® control and data acquisition system available from National Instruments Corp. of Austin, Tex. The CompactRIO® system includes a real-time processor and a reconfigurable Field Programmable Gate Array (FPGA), and thus is capable of providing a wide variety of functions. Another popular embedded system is the RapidPro® control unit available from Dspace Inc. of Paderborn, Germany. The RapidPro® unit includes a microcontroller module and a variety of input/output (I/O) interfaces. When an embedded system is employed, a front panel may be remotely displayed on a computer system in communication with the embedded system.
While CAD environments and graphical programming environments have each existed for some time, they have generally inhabited quite different spaces in the engineering community. Mechanical engineers have generally operated CAD environment to design and simulate mechanical systems, while electrical engineers have generally utilized graphical programming environments to design and simulate electrical and electronic systems, and often only turned to CAD type tools for board layout and other similar work. Such a segregated approach has proven increasingly inefficient as mechanical and electronic systems become more tightly coupled. In many modern systems, mechanical design is becoming increasingly dependent on electrical and/or electronic operation of system components. Likewise design of electrical and/or electronic components is often closely linked to mechanical operation of systems. Yet, current design environment do not adequately address these issues.